【python 机器学习】正态分布检验以及异常值处理3σ原则 您所在的位置:网站首页 箱线图 标准差 【python 机器学习】正态分布检验以及异常值处理3σ原则

【python 机器学习】正态分布检验以及异常值处理3σ原则

2023-12-27 18:52| 来源: 网络整理| 查看: 265

正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布。

在这里插入图片描述

下面介绍 Python 中常用的几种正态性检验方法:

scipy.stats.kstest

异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称离群点,异常值的分析也称为离群点的分析。 在进行机器学习过程中,需要对数据集进行异常值剔除或者修正,以便后续更好地进行信息挖掘。 对于异常值的处理,3σ原则是最常使用的一种处理数据异常值的方法。那么,什么叫3σ原则呢? 3σ原则,又叫拉依达原则,它是指假设一组检测数据中只含有随机误差,需要对其进行计算得到标准偏差,按一定概率确定一个区间,对于超过这个区间的误差,就不属于随机误差而是粗大误差,需要将含有该误差的数据进行剔除。 其局限性:仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提(样本>10),当测量次数少的情形用准则剔除粗大误差是不够可靠的。在测量次数较少的情况下,最好不要选用该准则。 3σ原则: 数值分布在(μ-σ,μ+σ)中的概率为0.6827 数值分布在(μ-2σ,μ+2σ)中的概率为0.9545 数值分布在(μ-3σ,μ+3σ)中的概率为0.9973 其中,μ为平均值,σ为标准差。 一般可以认为,数据Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%,这些超出该范围的数据可以认为是异常值。

具体步骤如下:

首先需要保证数据列大致上服从正态分布;计算需要检验的数据列的平均值和标准差;比较数据列的每个值与平均值的偏差是否超过3倍,如果超过3倍,则为异常值;剔除异常值,得到规范的数据。

方法一、KS检验3σ异常点检测:

# -*- coding: utf-8 -*- import numpy as np import pandas as pd from scipy.stats import kstest def KsNormDetect(df): # 计算均值 u = df['value'].mean() # 计算标准差 std = df['value'].std() # 计算P值 res=kstest(df, 'norm', (u, std))[1] # 判断p值是否服从正态分布,p


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有